<%@page contentType="content-type: application/x-javascript" pageEncoding="UTF-8" %>
<%@taglib prefix="s" uri="/struts-tags" %>
var VALIDACION = {

	inicio : function() {
		var formulario = $('#contenidos form');
		formulario.reset();
		formulario.find('input.texto').focus(function() {
			$(this).select();
		});
		$('#email').blur(function() {
			if ($(this).val() != '') {
				$.ajax({
					type: 'POST',
					url: '/xhr/xhr_email_disponible',
					data: 'email=' + $('#email').val(),
					dataType: 'json',
					success: function(datos) {
						if (datos['cabecera']['correcto'] == '1')
							VALIDACION.email(datos['cabecera']['disponible']);
					}
				});
			}
		});
		$('#nick').blur(function() {
			if (VALIDACION.nick()) {
				$.ajax({
					type: 'POST',
					url: '/xhr/xhr_nick_disponible',
					data: 'nick=' + $('#nick').val(),
					dataType: 'json',
					success: function(datos) {
						if (datos['cabecera']['correcto'] == '1')
							VALIDACION.nick(datos['cabecera']['disponible']);
					}
				});
			}
		});
		$('#contrasena').blur(function() {
			if ($('#repetir-contrasena').val() != '')
				VALIDACION.contrasena();
		});
		$('#repetir-contrasena').blur(function() {
			VALIDACION.contrasena();
		});
		formulario.submit(function() {
			return VALIDACION.validar($(this));
		});
	},
	
	email : function(disponible) {
		var contenedor = $('#datos-juego');
		var email = $('#email');
		var nick = $('#nick');
		var parrafo = contenedor.find('#email + p');
		if (disponible == 1) {
			if (parrafo.length > 0) {
				parrafo.fadeOut(VELOCIDAD_FADE,function() {
					$(this).remove();	
				});
				email.removeClass('incorrecto');
			}
		} else {
			if (parrafo.length == 0) {
				nick.prev().before('<p class="incorrecto"><s:text name="registro.registro.mensaje_0"/></p>');
				parrafo.hide().fadeIn(VELOCIDAD_FADE);
				email.addClass('incorrecto');
			}
		}
	},
	
	nick : function(disponible) {
		var contenedor = $('#datos-juego');
		var nick = $('#nick');
		var contrasena = $('#contrasena');
		var parrafo = contenedor.find('#nick + p');
		if (disponible != null) {
			if (disponible == 1) {
				if (parrafo.length == 0)
					contrasena.prev().before('<p class="correcto"><s:text name="registro.registro.nickDisponible"/></p>');
				else
					parrafo.replaceWith('<p class="correcto"><s:text name="registro.registro.nickDisponible"/></p>');
				parrafo.hide().fadeIn(VELOCIDAD_FADE);
				nick.removeClass('incorrecto').addClass('correcto');
			} else {
				if (parrafo.length == 0)
					contrasena.prev().before('<p class="incorrecto"><s:text name="registro.registro.nickNoDisponible"/></p>');
				else
					parrafo.replaceWith('<p class="incorrecto"><s:text name="registro.registro.nickNoDisponible"/></p>');
				parrafo.hide().fadeIn(VELOCIDAD_FADE);
				nick.removeClass('correcto').addClass('incorrecto');
			}
		} else {
			var cadenaValida = /^([a-zA-Z0-9._-])+$/;
			if (!cadenaValida.test(nick.val()) || (nick.val().length < CARACTERES_NICK_MINIMO)) {
 				if (parrafo.length == 0)
					contrasena.prev().before('<p class="inicial"><s:text name="registro.registro.mensaje_1"/></p>');
				else
					parrafo.replaceWith('<p class="inicial"><s:text name="registro.registro.mensaje_1"/></p>');
				parrafo.hide().fadeIn(VELOCIDAD_FADE);
				nick.removeClass('correcto').addClass('incorrecto');
				return false;
			} else {
				nick.removeClass('correcto').removeClass('incorrecto');
				return true;
			}
		}
	},
	
	contrasena : function() {
		var contenedor = $('#datos-juego');
		var contrasena = $('#contrasena');
		var repetir = $('#repetir-contrasena');
		var parrafo = contenedor.find('#repetir-contrasena + p');
		var objeto = contenedor.find('object');
		if ((contrasena.val() != '') && (contrasena.val() == repetir.val())) {
			if (parrafo.length == 0)
				objeto.before('<p class="correcto"><s:text name="registro.registro.coinciden"/></p>');
			else
				parrafo.replaceWith('<p class="correcto"><s:text name="registro.registro.coinciden"/></p>');
			parrafo.hide().fadeIn(VELOCIDAD_FADE);
			repetir.removeClass('incorrecto').addClass('correcto');
		} else if (contrasena.val() != repetir.val()) {
			if (parrafo.length == 0)
				objeto.before('<p class="incorrecto"><s:text name="registro.registro.nocoinciden"/></p>');
			else
				parrafo.replaceWith('<p class="incorrecto"><s:text name="registro.registro.nocoinciden"/></p>');
			parrafo.hide().fadeIn(VELOCIDAD_FADE);
			repetir.removeClass('correcto').addClass('incorrecto');
		} else {
			if (parrafo.length > 0) {
				parrafo.remove();
				repetir.removeClass('correcto incorrecto');
			}
		}
	},
	
	validar : function(formulario) {
		var error = false;
		var mensaje = '';
		if (formulario.find('.incorrecto').length > 0) {
			AVISO.mostrar('<s:text name="alertas.general.formulario.error"/>',1,0);
			return false;
		};
		$.each(formulario.find('input[class="texto"]'), function() {
			if ($(this).val() == '') {
				if (!error)
					error = true;
			}
		});
		if (!formulario.find('input[name="genero"]').is(':checked')) {
			if (!error)
				error = true;
		}
		$.each(formulario.find('select'), function() {
			if ($(this).val() == 0) {
				if (!error)
					error = true;
			}
		});
		if (!formulario.find('#legal').is(':checked')) {
			if (!error)
				error = true;
		}
		if (error) {
			AVISO.mostrar('<s:text name="alertas.general.formulario.validacion"/>',1,0);
			return false;
		} else {
			var clave_plana_r = $('#contrasena').val();
			var clave_sha1_r = SHA1(clave_plana_r);
			var clave_md5_r = hex_md5(clave_plana_r);
			$('#contrasena').val('');
			$('#repetir-contrasena').val('');
			$('#contrasena-sha1').val(clave_sha1_r);		
			$('#contrasena-md5').val(clave_md5_r);
			return true;
		}
	}
	
}




var SUBIR_IMAGEN = {
	
	inicio : function() {
		$('#avatar').remove();
		$('#miniatura').before('<button id="boton-elegir-imagen" type="button" title="Elige una imagen para tu cuenta de Basket Dudes"><span>Elegir imagen</span></button>');
		$('#miniatura').before('<div id="progreso-fichero"></div>');
		var swfu = new SWFUpload({
			// Backend Settings
			upload_url: "/upload/avatar/",
			// File Upload Settings
			file_size_limit : "300 KB",
			file_types : "*.jpg",
			file_types_description : "Archivos de imágenes",
			file_upload_limit : "0",
			// Event Handler Settings - these functions as defined in Handlers.js
			//  The handlers are not part of SWFUpload but are part of my website and control how
			//  my website reacts to the SWFUpload events.
			file_queue_error_handler : fileQueueError,
			file_dialog_complete_handler : fileDialogComplete,
			upload_progress_handler : uploadProgress,
			upload_error_handler : uploadError,
			upload_success_handler : uploadSuccess,
			upload_complete_handler : uploadComplete,
			// Button Settings
			button_placeholder_id : "boton-elegir-imagen",
			button_image_url: "/img/css/<s:text name="langFlag" />/botonEligeImagen.png",
			button_width: 141,
			button_height: 25,
			button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
			button_cursor: SWFUpload.CURSOR.HAND,
			// Flash Settings
			flash_url : "/swf/swfupload.swf",
			custom_settings : {
				upload_target : "progreso-fichero"
			},
			// Debug Settings
			debug: false,
			// Post params
     		post_params : { "fileJsessionid" : "<%=request.getSession().getId()%>"}
		});
	}
	
}




$(document).ready(function() {
	VALIDACION.inicio();
	SUBIR_IMAGEN.inicio();
});